44
|
How do I enable the cross link support ( rectangular )

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(76));
Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(-76),TVariant(32));
var_Element->AutoSize = false;
var_Element->Height = 32;
Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("Element <sha ;;0>D"),TVariant(76),TVariant(32));
var_Element1->AutoSize = false;
var_Element1->Height = 32;
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
Exswimlanelib_tlb::ILinkPtr var_Link1 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
var_Link1->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
var_Link1->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(4)),TNoParam());
Exswimlanelib_tlb::ILinkPtr var_Link2 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(4)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
var_Link2->StartPos = Exswimlanelib_tlb::AlignmentEnum::LeftAlignment;
var_Link2->EndPos = Exswimlanelib_tlb::AlignmentEnum::RightAlignment;
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowCrossLinksRect | Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowExtendedLinks;
|
43
|
How do I show a link frmo bottom to top, or reverse, not from left to right

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(64));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
|
42
|
Is it possible to control the links, so that they are always centered

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowLinks;
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDir] = TVariant(1);
SwimLane1->Arrange(TNoParam());
|
41
|
What options to align the elements do I have if I use Arrange method

SwimLane1->BeginUpdate();
SwimLane1->ShowGridLines = true;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
TVariant h1 = TVariant(var_Elements->Add(TVariant("Top Alignment"),TNoParam(),TNoParam())->get_ID());
var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
TVariant h2 = TVariant(var_Elements->Add(TVariant("Center Alignment"),TNoParam(),TVariant(96))->get_ID());
var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(96));
var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(96));
var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(96));
TVariant h3 = TVariant(var_Elements->Add(TVariant("Bottom Alignment"),TNoParam(),TVariant(178))->get_ID());
var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(192));
var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(192));
var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(192));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(4)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(5)),SwimLane1->Elements->get_Item(TVariant(6)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(5)),SwimLane1->Elements->get_Item(TVariant(7)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(6)),SwimLane1->Elements->get_Item(TVariant(8)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(6)),SwimLane1->Elements->get_Item(TVariant(7)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(9)),SwimLane1->Elements->get_Item(TVariant(10)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(9)),SwimLane1->Elements->get_Item(TVariant(11)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(10)),SwimLane1->Elements->get_Item(TVariant(12)),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(10)),SwimLane1->Elements->get_Item(TVariant(11)),TNoParam());
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeAlign] = TVariant(0);
SwimLane1->Arrange(TVariant(h1));
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeAlign] = TVariant(1);
SwimLane1->Arrange(TVariant(h2));
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeAlign] = TVariant(2);
SwimLane1->Arrange(TVariant(h3));
SwimLane1->EndUpdate();
|
40
|
Is there an auto-arrange feature that will display the flow-chart centered and zoomed correctly after we are finished building it

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->Arrange(TNoParam());
|
39
|
Is it possible to change the distance between elements, when calling the Arrange method

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDX] = TVariant(0);
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDY] = TVariant(0);
SwimLane1->Arrange(TNoParam());
|
38
|
How do I organize vertically the elements

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->ShowLinksType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkStraight;
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDir] = TVariant(1);
SwimLane1->Arrange(TNoParam());
|
37
|
How can I add programatically a link

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(96),TVariant(24));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
|
36
|
How do I get the link from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::SwimLane1MouseMove(TObject *Sender,short Button,short Shift,int X,int Y)
{
_tlb::ObjectPtr l = SwimLane1->LinkFromPoint[-1,-1];
OutputDebugString( L"l" );
}
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(96),TVariant(24));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
|
35
|
Is there a way to create a link which has the same start and end element

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
|
34
|
How can I show the pool's caption not-rotated or mirrored

SwimLane1->BeginUpdate();
SwimLane1->AllowDesignHeader = Exswimlanelib_tlb::AllowDesignHeaderEnum::exDesignHeaderSingle;
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
var_Pool->HeaderCaptionSupportRotate = false;
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderLeft,48);
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderRight,48);
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
SwimLane1->EndUpdate();
|
33
|
How can I prevent creating sub-lanes or sub-phases

SwimLane1->BeginUpdate();
SwimLane1->AllowDesignHeader = Exswimlanelib_tlb::AllowDesignHeaderEnum::exDesignHeaderSingle;
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderLeft,32);
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderRight,32);
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
SwimLane1->EndUpdate();
|
32
|
How do I show a complete frame/border around the header

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,32);
Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
var_Lanes->Count = 3;
var_Lanes->get_Item(TVariant(1))->Header->Pattern->Type = Exswimlanelib_tlb::PatternEnum::exPatternFrameThick;
SwimLane1->EndUpdate();
|
31
|
How do I show a complete frame/border around the lane

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,32);
Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
var_Lanes->Count = 3;
var_Lanes->get_Item(TVariant(1))->Pattern->Type = Exswimlanelib_tlb::PatternEnum::exPatternFrameThick;
SwimLane1->EndUpdate();
|
30
|
How can I define sub-lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(250));
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,32);
Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
var_Lanes->Count = 3;
var_Lanes->get_Item(TVariant(1))->Children->Count = 2;
SwimLane1->EndUpdate();
|
29
|
How can I add default lanes when the user creates a new pool
// AddPool event - A new pool has been added to the surface.
void __fastcall TForm1::SwimLane1AddPool(TObject *Sender,Exswimlanelib_tlb::IPool *Pool)
{
// Pool.HeaderSize(1) = 24
// Pool.HeaderVisible(0) = False
// Pool.HeaderVisible(1) = True
// Pool.HeaderVisible(2) = False
// Pool.HeaderVisible(3) = False
// Pool.Lane(1).Children.Count = 2
}
SwimLane1->BeginUpdate();
SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250));
SwimLane1->EndUpdate();
|
28
|
How do I prevent showing headers when the user creates new pools

// AddPool event - A new pool has been added to the surface.
void __fastcall TForm1::SwimLane1AddPool(TObject *Sender,Exswimlanelib_tlb::IPool *Pool)
{
}
SwimLane1->BeginUpdate();
SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250))->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
SwimLane1->EndUpdate();
|
27
|
How can I display icons on headers

SwimLane1->BeginUpdate();
SwimLane1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250));
var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderLeft,false);
var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderRight,false);
var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,false);
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,24);
Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
var_Lanes->Count = 3;
var_Lanes->get_Item(TVariant(0))->Header->Caption = L"<img>1</img> A";
var_Lanes->get_Item(TVariant(1))->Header->Caption = L"<img>2</img> B";
var_Lanes->get_Item(TVariant(2))->Header->Caption = L"<img>3</img> C";
SwimLane1->EndUpdate();
|
26
|
How do I change the Lane and Phase strings being displayed on the lanes

SwimLane1->BeginUpdate();
SwimLane1->DefPoolHeaderCaptionFormat[true] = L"<fgcolor 808080>Faza <off -4><b><font ;6>%i";
SwimLane1->DefPoolHeaderCaptionFormat[false] = L"<fgcolor 808080>Culoar <off -4><b><font ;6>%i";
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250));
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 3;
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->get_Item(TVariant(1))->Header->Caption = L"<fgcolor FF0000><b>NEW";
SwimLane1->EndUpdate();
|
25
|
How can I enlarge the node while AutoSize property is True (method 2)

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Element"),TVariant(0),TVariant(0))->Copy(TNoParam(),TNoParam());
var_Element->Caption = L"Enlarged Element";
var_Element->InflateSize = 16;
|
24
|
How can I enlarge the node while AutoSize property is True (method 1)

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Element"),TVariant(0),TVariant(0))->Copy(TNoParam(),TNoParam());
var_Element->Caption = L"Enlarged Element";
var_Element->set_Padding(Exswimlanelib_tlb::PaddingEdgeEnum::exPaddingAll,16);
|
23
|
How can I get the lane of the element

SwimLane1->BeginUpdate();
SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(500),TVariant(250))->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
var_Element->CenterOnLane(false);
TVariant lane = TVariant(var_Element->get_LaneID(false));
OutputDebugString( SwimLane1->get_LaneByID(TVariant(lane))->Header->Caption );
SwimLane1->EndUpdate();
|
22
|
How can I define a different shape for elements

// AddElement event - A new element has been added to the surface.
void __fastcall TForm1::SwimLane1AddElement(TObject *Sender,Exswimlanelib_tlb::IElement *Element)
{
}
SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IAppearancePtr var_Appearance = SwimLane1->VisualAppearance;
var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAChABAQDg6AADACAxRDQNABQKAAzQFAYahuHKGAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQwDiAUIjIK8IhkGIcZAGIBJCjWGodQLOEgwH") +
"IERQjEyUJAGGYqEjaO41SpAdI0PCxUScACnDQiegJRgmQ4cTJSchSAKENx1JaeYReewwAqNd5TRwNIiydZUIhqGC1YRte4ZWiCWoJVzSVDLfbgAT4X60IIlCi5Mi6MIg" +
"DZJFDUNLUdRBMKNJ7qagaWoWOaQRbmAQQTRYLQ/TiEXZDQRAAyLJIWVRQWTAAKVbw1LiEcznGCcejzIIDaZpOh4DplWzTOgALjta4IRpvNwAbIAF4gBqsLyXXLcdQyOR" +
"MiwbxZgSDhgnQbJFC6F5JhECA8CADwIgMeQnmoQJlh0eAfGcXYZjwccOHiWx/moAJ6jed4DC2dJnnmQRxBcKABBoWAcHULZLHyV4mmGOx0FmdpZAMAgQhEQBpBiRxBlQ" +
"cgZFUdAMEYAxQDECBNgaUYglkCQKBGZANk0QgBgQXAQgcGI0FwJAHA6WI+DGDAjCiVg0g2Yw4mYNg7E0eJ1H+DpkAiYhBg6JApBYRMvDkJhGhKJIImEA4QledZ8H+FJl" +
"EEQhWBAJa8loRoCgkdhYBAExZHQKIXmUYRCFQI5mgWfZ4hMJpJC4boTGcCY0m0QJVBAIh2EIZZ5H4VIVAqeZ1H8M5oAmSg7g8TR1n4fQrmUQZCgqF5eEmYhYBgKQJiCD" +
"4PmaegKhWJZnAQDZkhqaYKFocYnGadZ8h+KJoiGQhfEIURAmKEAYAgeo1H8OZrAoeoyhGKYngaHInmuCpOjmKAkHMHo+iiSZxmKQoXkGCwWigRQlnqLh7jKSh7DYUYzm" +
"0CgAk+DIrFCAo3i6LYKnKWYuk6Wp4keKIqDsLh7BYLhJmaZo5mcYAijAOZtFsXpajubZLG6co8CSShtnYeJrGeVpzjwbxLnafI/mcK5ZnmPgtGuap+j6cIMB8CocDAK4" +
"3AaQAwjwJwQkSaZsDcBI7jETBHBqRhxkibwWkCMQsgcG5Ii2TB+nkN5yEyJwjkqcJMh8DpKDKTIrB2TBmnyGwFkwMw8mcMpOmQbJbBiTwziyUxBDsc5sD8QJRnQKprEW" +
"Tg0g0DxNlKMpsF8RpSHUTQ7BuUp0n0VxZi4MxrDSJ40DYDYHGKWJ2E2FxmyADYnGqMRBgeYh0FOLh9kccpcncJsVw7RdjvA2M4eovRmCSFkMwQIoAQEBA"));
var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAChABAIDg6AADACAxRDQNABQKAAzQFAYaBmG6GAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DAAUIjKLMIhmGAYJAGIBJCjWGodQLOEgwH") +
"IERQjEyUpIyVAkYw5HqNaQjICoJoSOwAU47IaCIAFJSpCygKKgSjhRpoAAyU5IUgVPC4XSbD6zYDqapaTheEQyDSJNr3DCMUTlFYYLrmaQKMhqZJhWjbFSWXUpJ4pSrL" +
"MIyfTwZRJGzIK7jabLIjaP6GUDhVaYbRUL46CiEb5AAJsVpCCZrYRJOYVdQeDYbQCNLDhHQIDqaA6kZRAdQ2bpMBznPSvbovDgLWhGYqhbLCNibRC+d4HNrCYIlCjpMw" +
"3CYGIOHOMRsm0OxFjSZppneHQNFcSwRAOaprjqY4dgYe4VgGWwADucRuHYCpdByYROH8AAOC8D4NgEXwYBWEZyGAWoHg2MRCECBAkFAGhGDGUB1ByBhQkUIAPgCRAMEI" +
"ExhIuNhCEKBAlnAcwQgAYQXAIIRWEUFwJAGQ42CiCoihiLgugsYwDjSZ4MkICJWCaDZjgiZg6EIQQInSV4PmKeIyEKEBkBQDhEgwZBzjSd4SlEQJgk+E5khkRhIhSZA5" +
"FIUoVGWCQkl+FpkliTJnhXSYaFaGJOlEIhmC2ZoJgIZIaiWGYuG62IpDyT4TGSM5eGyCpmCnPIcCeQg+H6HZmnoAh6iAaBDjSL4hkUCgmgKHhlHmeIPh8BwKAqEohGkO" +
"gOHCI4pAmMoMhUKByj6CQUCkWoGhSKJpGkJoQiOJR6G4cYTmcSQuiKKRqEqPovhmBIJiCN4YEACQGFsN5lliToyiwbAKkKQoSGcWQ2HKERrhiJJvjLUR8leL5sDsBpQi" +
"UZZpDaO4eAACZWh+LYtDsSpejQbmJnIEAuEsLJvECRgLiSH46m2W4Gl+OxpFqWo0ECSR7lQaI9m8C4+nqO4uAIHp+B4MAJmcAAeC+YgenmPwwHwHInkKRYMDaWIQGmeh" +
"3AmPpxDsCJHkWbhBAIdZDmMGZXBmRZMHwVwikUIwam0MAMC4awiEmOYyHsXwkkIMp5jMLBMDKaRiiqEBsmkNwpkwc5MyiHRrEKfxCiobIaFsQgvmsTBvD2SJuAwNBYkK" +
"Sh6GsRYbDUDQ7EyVZmEwDwFiKdQ6BQf5XnYDRjD6IIujIfppBgKRcl6BZZnYXYLBWLYpn0KpglqLAtAIZoOneBsZw9RJjnQ+AYQAgCAg="));
var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAChABQsMACAADACAxRDQNABQKAAzQFAYawLBgABhGUZoJhUAIIRZGMIjFDcEwxC6NIpAWCYQgUNQCQiNAzxAKQchhD4ZAIkGY4ZhyA42SBAcbyD") +
"CEShoGqPRhmCg5UjmM4oQLSFDULC0fSBBIYaSGEY5QoqIYfArGQYQTRUPyUdoOBIACwLChWLA1CTZdowSKoYTXBq3IgqerIapmSYaV7YNh3VY1IR/JSVJYlaYJDoyNI4" +
"ThHc5xVLtfSfAiiJrxOKcTAAFJ0QKFUbRUz+OgBTpvaZxagaSpSG5WRpWEI5PAdN4zTa7YDsS67FiSG5oWpEFq2eAGdzlVLMMqhG5gAxqNKzbLfMCXfJIbyrBIcYLoXI" +
"tCqFYskMTwxlgAY+haFZRlQZQ4HwHR3AoMx5jEch2lMfZGl8eY+jYXBvBsAAHFeRQDmuRR8nsSI2CoEgIEIRQBiQYwdAcUZIGUUIQhGGAGECRAhDYChGFERAMCgQheEc" +
"GQgHkEAwkICx2BCFoAj+B5iAiBgigiYhIgid4JkIQBwm2ChijiKgsguYpokYLYMmKQIiDYDgjgEAg6g6Y5InYPoPmOIAiEKEJFgkFIvhGYwIlIMoSTmAhOGgJJJC4UoS" +
"iUSIcncKZlp8WoOAOAxeF6FBlEkNhPGcZgJhYU4ZiMMweGoDAmkGfhuhWJoJDgIIUCYeZWGGHYkhkWhuB+ZYhEIcIUmcKZSHeIJmgoFgyCeaIBgKCoYCgGYSHiI5oEoQ" +
"gsiKBgKCCH4SOAfoGiQaZKPmJ5jGCIJniiZgpk6DonGkKomgOHpnjqFoCiaawKioSYXg0eoGi6KZrBqIo6hgEIal6GosiwCpuDIBgsEqDJniYa4bVuFYkDqepKjCLQJi" +
"iR4XCyawGk+JpGgsZIXjabRbEKV4disSYwDCH5OlsIpWjmaA5HKUomCYOp+l6OgkhoUoWiMLpbH6bw7G0KRynOHYuGuXobhWB4MAaaoaimO52naB4hnkYInhERYLBAGA" +
"hnECw+H2BwhkmSg7kMMIqHyb49hAECAg="));
var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAChABOIDg6AADACAxRDQNABQKAAzQFAYaBqGCGAAGEZRSgmFgAQhFcZQTCsBw7DCEYxjOAwFgmEQxDIOIBQSKYcwiGQaRrkIYgEiONoaR7HchSF") +
"IcIxPFKRBhkKYocjyG5GRoBcIyXAcRSYAB2Q4ESoKShePw5UDTcCzHR8RxEDKNRLpOQbDgOUZTWbVUaDKIsXzZCKHbZhG4YRp6CZKRpYEB1bYtKTRKqLKrpeTbOoSHol" +
"TbiIATTYlG4THyEZQrDIaDjOSIXZaGFzwSDWGgBJ60bRwHIaAxGWoHRxfEZVfBONQHMSBc5xa64JyHAImWrcUbWfaYYZ0AC6MRkK8cXABPQANixKZsCizE4DDbTYzjRh" +
"eC2F4nnEOJRG0BRXEWOICEocByiyCJTiQOJVGYIQ8gofpDgsG5uF+ah6D2Xp+GGP5gkCfwRHofwOnuSB2heVpZnIUZQhAIQJBQBoRgwdAdEcIYVEIQhGGAMQDBCBJYEU" +
"GgNhCEMcHsXIkCIAAMIILQWAkAZDjYJIJiIWIeCqCRMHiNI/guYwIkYMoMmMSJWDaDZjgiTIzg6Yo4iIPoPGIdAmECChiFKXhGAQJIAmISgQCSSQ2E6E5lAkRhShSZRJ" +
"FQOoVkCaRkAqFpQhIPhehCY54hYQoRCOYo+GaExOnmJhghqZhJjIYYbmaaJ0l+HJkiCYgtDGY5RkIegfmeSY6GOD4MnoBh1D2aBJkYbYhmcCgigaIhOloEJ3h0aATD4b" +
"gWCkQoehaGAnniHhNgwKI6HaConmiSYCF4I5niGQoLDmaoAiKKoaE6eJ2H+HZnFoeohigKwqCwGItmqA4ejIHgrkIHo+iuEA4h6PGMmIHo1i0LIKk6SoMCSWwcm2LAki" +
"sAAAgmQgLFYcw3myaxmkmG4GgsdIXjebYjjaVQIC0eQFAONADguBpqjaaIKlwGIuG4GwOkWOYAAqDoljqbIrmIJ41m4O5iGYK5FAwBp0ikag7mqbI+GoCwyEyPgpBCQw" +
"Oj0KRBGKFgpnAbAjXWMQ8EaeIuG6a5SHWHZxFyBoIjEbA8FQCJJmiZAmmOORwHyCwXgkbwqn8LYoDKOZNAmJpinyOzTm8aZrBWH5QhGAxCCedBMm8L5Fi+fAEFCPgvks" +
"Vp0h8NQBn8RpLi7NQKBALxLHyF43EaDRPDOMoxkqXp4kYaRLlMTQIDWbQeguR5iluBxCBgNBCH6dIJnaSZjF+LQZgGQSh5DOFEa4dQsi5GILsaA8ReBuHoEYZ4ZwkDFF" +
"wJEYo2grjcHOFUAoFA7gJFqFEDYrQyilC+PwNgyRBBLH4C8FIzxiD8CeBYEgUQ9CtAiEwYgtQyDqDWPUTjBhXBrCmAcKoJQ6iGF6DEMA8BpieA4BgMQdxDg9GSOkLQgR" +
"CjhHiDMV4Ewfh3AoGULIiBujRAuJ0c4+gEi4ASOkRAfhWgjCKKEFACCAg"));
var_Appearance->Add(5,TVariant(String("gBFLBCJwBAEHhEJAAChABGgDg6AADACAxRDQNABQKAAzQFAYZBwGiGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ3DTJUBjIKcIhiGsgAzAJIUaw1DqGY7nKZoR") +
"ioAIoSAMM7DCKUQSLGyQZqBSCQGjsAI+OyHAiABSNJwtHygIRoKqqHg2PoiSAEUZhdRlHShKSqLQiaIRSDUJZsW5EIyjBZ8EznOqbJApOKrCgOTYaWbUdSxPTEUwTFiX" +
"JgmKRKIoiOAAY7IEgSFLsThrIKha5yDI4bxyAwXQjeYABbY0E4HQarcqzCrKGp/HYJXyAGgQHYkB5JAaQMBtGpoJrCeKQXDdVyXFwdET1BLZQA2HeUTTRVCScqnaTMZh" +
"8DgGxniKfYbngAxFkmVJAnSdougwDhRlMGZ1GEPR9HQapDGWWhyCMe4ugQDx9naYRvm6cQfAUJ47m8cofBYAZOGCHg2mETgCBCERAGkGJHEGVByBkUwUCSIgChAMQIE2" +
"BJRiQVQDAoEIWlWIxOgGBBcGyBQYlQXAkAcDpYh4KYKCKKI2CyC5ijONJvgySZ4lQWINkKCJmCWDpjkQaJPg+UA4joMYQiQI4eEYHAkgAYhKBgJJCh43JlAkEgwhSJA5" +
"E4VoVE6UQCFoL5lkkBhXhUCR5gYOQKAieYUneGZlEmJhfhqZYJFIWgQCWQp+F6GxigmHJ3BoJ4JmYMw7maKZSH6HxoAiQhvhwZ1VHYFAogmBIXiAZ55jKDIQgeChGG+G" +
"5BAoVJHiWaBYkIecznoOoeiMZYCj6IoYmcGhckeCophONoKh4aZagKLYrGkEZggeLJkCmThGDmZg5m6L4nmuOoCHaGJNnsBooAAIopCAcIZEiep2kqLwpnqCIviIBQLA" +
"4dolEECZakuK4sksYhYAgLZLOsQJLHuBBIjibR7haWYfGwawhAOJpmBuGpajuJRJkYbxAmgORynCOZvgqApejcAgIG4OYUA0e5em+PhokQXhKAYKx8AsCo+FEcJDA6D5" +
"MnwLwDkTWJulQQJuDEIphC2cQsHYbJEDCYJBAOLBrDIHwekUMBIiITgpmMcRhAOKYDgyRwnkyYwMjcK4cnAfAnCmSgzkoGhnkGZ45k6SIxjMTPIFCZOZEKSBxA0Fpui2" +
"b5LFoKIqGoaY/FKUY1gmdpQjOKxbBIV4zi0DQ6nmOhmFkUophCLILEMV5YiWCZkH+W5nl2HxfiiMwQmMTZOmqLhaLsx9iUH6JAMI1hCDjECFQawhghjBG2DseoGQzhNH" +
"wDwTAMAsgTEeCUZI1Q5jFHyLodYmWxB8GsPEVIPwxhSD6Awb4dgJD2HsAQQIoAQEB"));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Rectangular"),TVariant(0),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeRectangular;
var_Elements->Add(TVariant("Round"),TVariant(82),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeRound;
var_Elements->Add(TVariant("Rhomb"),TVariant(138),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeRhomb;
var_Elements->Add(TVariant("Circle"),TVariant(196),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeCircle;
Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("EBN 1"),TVariant(0),TVariant(36));
var_Element->BackColor = 0x1000000;
var_Element->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("EBN 2"),TVariant(54),TVariant(36));
var_Element1->BackColor = 0x2000000;
var_Element1->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
Exswimlanelib_tlb::IElementPtr var_Element2 = var_Elements->Add(TVariant("EBN 3"),TVariant(108),TVariant(36));
var_Element2->BackColor = 0x3000000;
var_Element2->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
Exswimlanelib_tlb::IElementPtr var_Element3 = var_Elements->Add(TVariant("EBN 4 "),TVariant(160),TVariant(36));
var_Element3->BackColor = 0x4000000;
var_Element3->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
Exswimlanelib_tlb::IElementPtr var_Element4 = var_Elements->Add(TVariant("EBN 5 "),TVariant(220),TVariant(36));
var_Element4->BackColor = 0x5000000;
var_Element4->MinHeight = 64;
var_Element4->MinWidth = 64;
var_Element4->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
SwimLane1->ScrollPos[false] = -160;
SwimLane1->EndUpdate();
|
21
|
Is it possible to add an inner control on the surface

// OleEvent event - Occurs once an inside control fires an event.
void __fastcall TForm1::SwimLane1OleEvent(TObject *Sender,Exswimlanelib_tlb::IElement *Element,Exswimlanelib_tlb::IOleEvent *Ev)
{
OutputDebugString( L"Ev" );
}
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("activex hosting"),TNoParam(),TNoParam());
var_Element->Type = Exswimlanelib_tlb::ElementHostTypeEnum::exElementHostControl;
var_Element->Control = L"Forms.CommandButton.1";
var_Element->Caption = L"Command Button";
var_Element->Height = 64;
var_Element->Width = 128;
var_Element->ElementFormat = L"14;\"caption\"/\"client\"";
var_Element->CaptionAlign = Exswimlanelib_tlb::ContentAlignmentEnum::exTopCenter;
|
20
|
How can I create a copy of the element
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
SwimLane1->Elements->Add(TVariant("Element 1"),TVariant(0),TVariant(0))->Copy(TNoParam(),TNoParam())->Caption = L"Aka";
|
19
|
How can I define an opaque background for elements

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
SwimLane1->Elements->Add(TVariant("Element 1"),TVariant(0),TVariant(0));
SwimLane1->Elements->Add(TVariant("Element 2"),TVariant(16),TVariant(16));
|
18
|
How can I show a different context-menu for all elements
// ActionContextMenu event - Occurs when the user selects an item from the object's context menu.
void __fastcall TForm1::SwimLane1ActionContextMenu(TObject *Sender,Exswimlanelib_tlb::ContextMenuObjectActionEnum Action,Exswimlanelib_tlb::ContextMenuObjectTypeEnum ObjectType,Variant ObjectID,long CommandID,VARIANT_BOOL CommandChecked,Variant CommandCaption,Variant CommandValue,VARIANT_BOOL * Cancel)
{
OutputDebugString( L"Action" );
OutputDebugString( L"ObjectID" );
OutputDebugString( L"CommandID" );
}
SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuElement] = L"Item 1[id=1000],Item 2[id=2000]";
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
SwimLane1->Elements->Add(TVariant("Element 1"),TVariant(0),TVariant(0));
SwimLane1->Elements->Add(TVariant("Element 2"),TVariant(16),TVariant(16));
|
17
|
How can I show a different context-menu for element
OutputDebugString( PChar(SwimLane1->Elements->Add(TVariant("Element"),TVariant(0),TVariant(0))->InvokeContextMenu(TVariant("Item 1[id=1000],Item 2[id=2000]"))) );
|
16
|
How can I change the design-modes being shown on the control's toolbar

SwimLane1->DesignModes = L"Read-Only#0,Allow Any#3,Only-Element#1,Only-Pool#2";
|
15
|
How can I change the default header's background color

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 4;
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 4;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exPoolHorizontalHeaderBackColor] = RGB(0,255,0);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exPoolVerticalHeaderBackColor] = RGB(0,192,0);
SwimLane1->EndUpdate();
|
14
|
How can I remove the Design item from the control's toolbar, to be locked ( no-design )

SwimLane1->ToolBarFormat = L"-1,100,101";
SwimLane1->DesignMode = Exswimlanelib_tlb::DesignModeEnum::exDesignLock;
|
13
|
How can I remove/disable the Color and Display-Grid from the surface's context menu

SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuSurface] = TVariant(String("Delete[id=-32004](All[id=-32000][ttp=Deletes all the objects from the surface],[sep],Elements[id=-32001][ttp=Deletes all elemen") +
"ts from the surface],Links[id=-32002][ttp=Deletes all links from the surface],Pools[id=-32003][ttp=Deletes all pools from the su" +
"rface])");
|
12
|
How can I change the element's context-menu when the user right-clicks the element

// ActionContextMenu event - Occurs when the user selects an item from the object's context menu.
void __fastcall TForm1::SwimLane1ActionContextMenu(TObject *Sender,Exswimlanelib_tlb::ContextMenuObjectActionEnum Action,Exswimlanelib_tlb::ContextMenuObjectTypeEnum ObjectType,Variant ObjectID,long CommandID,VARIANT_BOOL CommandChecked,Variant CommandCaption,Variant CommandValue,VARIANT_BOOL * Cancel)
{
// ContextMenuObjectFromID(ObjectType,ObjectID).BackColor = RGB(255,255,0)
OutputDebugString( L"Action" );
OutputDebugString( L"CommandCaption" );
}
SwimLane1->BeginUpdate();
SwimLane1->Elements->Add(TVariant("element"),TVariant(0),TVariant(0));
SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuElement] = L"Simple,Value[edit=123],[sep],Popup(Check 1[chk],Check 2[chk=1])";
SwimLane1->EndUpdate();
|
11
|
How do I prevent showing the context-menu when user right-clicks the surface
SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuSurface] = L"";
|
10
|
How do I create parent-child (tree) lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,false);
Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
var_Lanes->Count = 2;
Exswimlanelib_tlb::ILanesPtr var_Lanes1 = var_Lanes->get_Item(TVariant(0))->Children;
var_Lanes1->Count = 2;
var_Lanes1->get_Item(TVariant(0))->Header->Caption = L"Phase <b>1.1";
var_Lanes1->get_Item(TVariant(1))->Header->Caption = L"Phase <b>1.2";
SwimLane1->EndUpdate();
|
9
|
How do I create a pool with horizontal and lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 4;
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 4;
SwimLane1->EndUpdate();
|
8
|
How do I add programatically a pool with horizontal lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 4;
SwimLane1->EndUpdate();
|
7
|
How do I add programatically a pool with vertical lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 4;
SwimLane1->EndUpdate();
|
6
|
How can I change the toolbar's visual appearance

SwimLane1->VisualAppearance->Add(1,TVariant("c:\\exontrol\\images\\normal.ebn"));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarBackColor] = RGB(255,255,255);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarForeColor] = RGB(40,40,40);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonDownBackColor] = 0x1606060;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonDownForeColor] = RGB(240,240,240);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonHotBackColor] = 0x1a0a0a0;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonHotForeColor] = RGB(255,255,255);
|
5
|
How can I change the toolbar's background color

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarBackColor] = RGB(255,255,255);
|
4
|
How can I fit or ensure that all elements are in the control's client area
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
var_Elements->Add(TVariant("Element A"),TVariant(-500),TVariant(-500))->BackColor = RGB(0,255,0);
var_Elements->Add(TVariant("Element B"),TVariant(500),TVariant(500))->BackColor = RGB(255,0,0);
var_Elements->Add(TVariant("Element C"),TVariant(48),TVariant(24));
SwimLane1->FitToClient();
|
3
|
Context Menu - Microsoft Windows 8.1 - Ribbon Like

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IAppearancePtr var_Appearance = SwimLane1->VisualAppearance;
var_Appearance->Add(1,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn"));
var_Appearance->Add(2,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn"));
var_Appearance->Add(12,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn"));
var_Appearance->Add(14,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn"));
var_Appearance->Add(17,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn"));
var_Appearance->Add(18,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn"));
var_Appearance->Add(30,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio0.ebn"));
var_Appearance->Add(31,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio1.ebn"));
var_Appearance->Add(32,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn"));
var_Appearance->Add(33,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn"));
var_Appearance->Add(34,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn"));
var_Appearance->Add(35,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn"));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolTipAppearance] = 0x1fefefe;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelBackColor] = 0xe000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarBackColor] = RGB(255,255,255);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonHotBackColor] = 0xc000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonDownBackColor] = 0xe000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuHotBackColor] = 0xc000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelHotBackColor] = 0x23000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum(0x2)] = 0x22000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum(0x3)] = 0x23000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exCheckBoxState0] = 0x20000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exCheckBoxState1] = 0x21000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exRadioButtonState0] = 0x1e000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exRadioButtonState1] = 0x1f000000;
SwimLane1->EndUpdate();
|
2
|
Context Menu - Microsoft Paint - Ribbon Like

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IAppearancePtr var_Appearance = SwimLane1->VisualAppearance;
var_Appearance->Add(1,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn"));
var_Appearance->Add(2,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn"));
var_Appearance->Add(3,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn"));
var_Appearance->Add(4,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn"));
var_Appearance->Add(5,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn"));
var_Appearance->Add(6,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn"));
var_Appearance->Add(7,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn"));
var_Appearance->Add(8,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn"));
var_Appearance->Add(9,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn"));
var_Appearance->Add(10,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn"));
var_Appearance->Add(11,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn"));
var_Appearance->Add(12,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn"));
var_Appearance->Add(13,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn"));
var_Appearance->Add(14,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn"));
var_Appearance->Add(15,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn"));
var_Appearance->Add(16,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tab.ebn"));
var_Appearance->Add(17,TVariant("CP:16 0 0 0 1"));
var_Appearance->Add(18,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn"));
var_Appearance->Add(19,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn"));
var_Appearance->Add(20,TVariant("CP:19 0 0 0 1"));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuForeColor] = RGB(21,66,139);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelBackColor] = 0xe000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolTipAppearance] = 0x1fefefe;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarBackColor] = RGB(255,255,255);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonHotBackColor] = 0xd000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonDownBackColor] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum(0x2)] = 0xd000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameSingle] = 0x5000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameHStart] = 0x6000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameHIntermediate] = 0x7000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameHEnd] = 0x8000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameVStart] = 0x9000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameVIntermediate] = 0xa000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameVEnd] = 0xb000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuHotBackColor] = 0xc000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelHotBackColor] = 0xf000000;
SwimLane1->EndUpdate();
|
1
|
Context Menu - Microsoft Office - Ribbon Like

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IAppearancePtr var_Appearance = SwimLane1->VisualAppearance;
var_Appearance->Add(1,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_background.ebn"));
var_Appearance->Add(2,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupt.ebn"));
var_Appearance->Add(3,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupo.ebn"));
var_Appearance->Add(4,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_grouphot.ebn"));
var_Appearance->Add(5,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameh.ebn"));
var_Appearance->Add(6,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehs.ebn"));
var_Appearance->Add(7,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehi.ebn"));
var_Appearance->Add(8,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehe.ebn"));
var_Appearance->Add(9,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevs.ebn"));
var_Appearance->Add(10,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevi.ebn"));
var_Appearance->Add(11,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameve.ebn"));
var_Appearance->Add(12,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_select.ebn"));
var_Appearance->Add(13,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_bordert.ebn"));
var_Appearance->Add(14,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttond.ebn"));
var_Appearance->Add(15,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttonu.ebn"));
var_Appearance->Add(16,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tab.ebn"));
var_Appearance->Add(17,TVariant("CP:16 0 0 0 1"));
var_Appearance->Add(18,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabhot.ebn"));
var_Appearance->Add(19,TVariant("C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabselhot.ebn"));
var_Appearance->Add(20,TVariant("CP:19 0 0 0 1"));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuForeColor] = RGB(21,66,139);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolTipAppearance] = 0x1fefefe;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarBackColor] = RGB(255,255,255);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonHotBackColor] = 0xd000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonDownBackColor] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum(0x2)] = 0xd000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum(0x3)] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameSingle] = 0x5000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameHStart] = 0x6000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameHIntermediate] = 0x7000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameHEnd] = 0x8000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameVStart] = 0x9000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameVIntermediate] = 0xa000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuGroupPopupFrameVEnd] = 0xb000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuHotBackColor] = 0xc000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelBackColor] = 0xe000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelHotBackColor] = 0xf000000;
SwimLane1->EndUpdate();
|